home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr48 / vdl020d.zip / VSER.DOC < prev    next >
Text File  |  1993-04-14  |  22KB  |  1,116 lines

  1. {
  2.  ════════════════════════════════════════════════════════════════════════════
  3.  
  4.  Visionix Serial Communictions Unit (VSER)
  5.  Copyright 1991,92,93 Visionix
  6.  ALL RIGHTS RESERVED
  7.  
  8.  ────────────────────────────────────────────────────────────────────────────
  9.  
  10.  revision history in reverse chronological order:
  11.  
  12.  Initials  Date      Comment
  13.  
  14.  ────────  ────────  ────────────────────────────────────────────────────────
  15.  
  16.  lpg       03/16/93  Added Source Documentation
  17.  
  18.  mep       02/11/93  Cleaned up code for beta release
  19.  
  20.  jrt       02/08/93  Sync with beta 0.12 release
  21.  
  22.  jrt       11/21/92  Sync with beta 0.08
  23.  
  24.  jrt       09/01/92  First logged revision.
  25.  
  26.  ────────────────────────────────────────────────────────────────────────────
  27. }
  28.  
  29. Unit VSer;
  30.  
  31.  
  32. Uses
  33.  
  34.   VTypes,
  35.   VSerLow;
  36.  
  37. {────────────────────────────────────────────────────────────────────────────}
  38.  
  39. Const
  40.  
  41.   sfct_None       = 0;
  42.   sfct_RtsCts     = 1;
  43.   sfct_XonXoff    = 2;
  44.  
  45.  
  46.   {-----------------}
  47.   { TError Messages }
  48.   {-----------------}
  49.  
  50.   ser_None               = 0;
  51.   ser_NoMemAvail         = 1;
  52.   ser_NoWrite            = 2;
  53.  
  54.  
  55.   {------------------}
  56.   { Status Bit Flags }
  57.   {------------------}
  58.  
  59.   sbf_MSRctsDelta = 0;   { Clear To Send changed                     }
  60.                          { Delta clear to send (not reliable)        }
  61.  
  62.   sbf_MSRdsrDelta = 1;   { Data Set Ready changed                    }
  63.                          { Delta data set ready (not reliable)       }
  64.  
  65.   sbf_MSRriDelta  = 2;   { Ring Indicate changed                     }
  66.                          { Delta data carrier detect (not reliable)  }
  67.  
  68.   sbf_MSRcdDelta  = 3;   { Carrier Detect changed                    }
  69.                          { always set to 1 upon return (DUMMY DCD)   }
  70.  
  71.   sbf_MSRcts      = 4;   { Clear To Send                             }
  72.                          { CTS - DCE sets - do not xmit until true   }
  73.  
  74.   sbf_MSRdsr      = 5;   { Data Set Ready                            }
  75.                          { DSR - modem is ready to be used           }
  76.  
  77.   sbf_MSRri       = 6;   { Ring Indicate                             }
  78.                          { RI - only on during active voltage signal }
  79.  
  80.   sbf_MSRcd       = 7;   { Carrier Detect                            }
  81.                          { DCD - data carrier detect                 }
  82.  
  83.   sbf_LSRRcvReady = 8;   { Received data ready                       }
  84.                          { RDA  - input data is available in buffer  }
  85.  
  86.   sbf_LSROverrun  = 9;   { OverRun error                             }
  87.                          { OVRN - the input buffer has been overrun  }
  88.  
  89.   sbf_LSRParity   = 10;  { Parity error                              }
  90.                          { Reserved (Parity error in BIOS INT 14h)   }
  91.  
  92.   sbf_LSRFrame    = 11;  { Framing error                             }
  93.                          { Reserved (Framing error in BIOS INT 14h)  }
  94.  
  95.   sbf_LSRBreak    = 12;  { Break detected                            }
  96.                          { Reserved (Break detect in BIOS INT 14h)   }
  97.  
  98.   sbf_LSRXhReady  = 13;  { Transmit hold register empty              }
  99.                          { THRE - room is available in output buffer }
  100.  
  101.   sbf_LSRXsReady  = 14;  { Transmit shift register empty             }
  102.                          { TSRE - output buffer is empty             }
  103.  
  104.   sbf_LSRTimeout  = 15;  { Timeout (software implemented).  If true, }
  105.                          { then none of the above 15 bits are valid. }
  106.  
  107.   sbf_DTRReady    = 16;  { Data terminal ready                       }
  108.                          { DTR - used as off-hook.                   }
  109.  
  110.   sbf_RTSReady    = 17;  { Request to send                           }
  111.                          { RTS - DTE sets - use when data to xmit    }
  112.  
  113. Type
  114.  
  115.   TSerHandle = ^TSerChan;
  116.  
  117.   TError     = LONGINT;
  118.  
  119. {────────────────────────────────────────────────────────────────────────────}
  120. {────────────────────────────────────────────────────────────────────────────}
  121.  
  122. {================}
  123. { Serial Channel }
  124. {================}
  125.  
  126. Procedure VSerGetCaps(              Caps        : PSerCaps    );
  127.  
  128.  
  129. Function  VSerChanNew(              Flags       : WORD;
  130.                                 Var ChanHandle  : TSerHandle    ) : TError;
  131.  
  132. Procedure VSerChanDispose(          ChanHandle  : TSerHandle    ) ;
  133.  
  134.  
  135.  
  136. {=======================}
  137. { Serial Channel Driver }
  138. {=======================}
  139.  
  140. Function  VSerDriverNew(            Chan        : TSerHandle;
  141.                                     Proc        : TSerDriverProc;
  142.                                     DriverInfo  : Pointer       ) : TError;
  143.  
  144. Procedure VSerDriverDispose(        Handle      : TSerHandle    ) ;
  145.  
  146.  
  147.  
  148. {========================}
  149. { Serial Channel Control }
  150. {========================}
  151.  
  152. Function  VSerActivatePort(         Chan        : TSerHandle;
  153.                                     CommParam   : PCommParam    ) : TError;
  154.  
  155. Function  VSerDeActivatePort(       Chan        : TSerHandle;
  156.                                     CommParam   : PCommParam    ) : TError;
  157.  
  158. Function  VSerGetCommParam(         Chan        : TSerHandle;
  159.                                     CommParam   : PCommParam    ) : TError;
  160.  
  161. Function  VSerSetCommParam(         Chan        : TSerHandle;
  162.                                     CommParam   : PCommParam    ) : TError;
  163.   {--------------}
  164.   { Flow Control }
  165.   {--------------}
  166.  
  167. Function  VSerGetFlowConType(       Chan        : TSerHandle    ) : INTEGER;
  168.  
  169. Function  VSerSetFlowConType(       Chan        : TSerHandle;
  170.                                     FlowConType : INTEGER       ) : TError;
  171.  
  172. Function  VSerTurnSendOn(           Chan        : TSerHandle    ) : TError;
  173.  
  174. Function  VSerTurnSendOff(          Chan        : TSerHandle    ) : TError;
  175.  
  176. Function  VserTurnReceiveOn(        Chan        : TSerHandle    ) : TError;
  177.  
  178. Function  VSerTurnReceiveOff(       Chan        : TSerHandle    ) : TError;
  179.  
  180.   {--------------}
  181.   { Break Signal }
  182.   {--------------}
  183.  
  184. Function  VSerTurnBreakOn(          Chan        : TSerHandle    ) : TError;
  185.  
  186. Function  VSerTurnBreakOff(         Chan        : TSerHandle    ) : TError;
  187.  
  188. Function  VSerBreak(                Chan        : TSerHandle;
  189.                                     BreakLen    : LONGINT       ) : TError;
  190.   {---------------------}
  191.   { Data Terminal Ready }
  192.   {---------------------}
  193.  
  194. Function  VSerTurnDTROn(            Chan        : TSerHandle    ) : TError;
  195.  
  196. Function  VSerTurnDTROff(           Chan        : TSerHandle    ) : TError;
  197.  
  198.   {----------------}
  199.   { Channel Status }
  200.   {----------------}
  201.  
  202. Function  VSerGetStatus(            Chan        : TSerHandle    ) : LONGINT;
  203.  
  204. Function  VSerChanStatus(           Chan        : TSerHandle;
  205.                                     Bit         : BYTE          ) : BOOLEAN;
  206.  
  207.  
  208. Function  VSerCarrier(              Chan        : TSerHandle    ) : BOOLEAN;
  209.  
  210. Function  VSerRing(                 Chan        : TSerHandle    ) : BOOLEAN;
  211.  
  212. Function  VSerInAvail(              Chan        : TSerHandle    ) : BOOLEAN;
  213.  
  214. Function  VSerInFull(               Chan        : TSerHandle    ) : BOOLEAN;
  215.  
  216. Function  VSerOutReady(             Chan        : TSerHandle    ) : BOOLEAN;
  217.  
  218. Function  VSerOutEmpty(             Chan        : TSerHandle    ) : BOOLEAN;
  219.  
  220.   {----------------}
  221.   { Buffer Control }
  222.   {----------------}
  223.  
  224. Function  VSerFlushOutBuff(         Chan        : TSerHandle    ) : TError;
  225.  
  226. Function  VSerPurgeOutBuff(         Chan        : TSerHandle    ) : TError;
  227.  
  228. Function  VSerPurgeInBuff(          Chan        : TSerHandle    ) : TError;
  229.  
  230.  
  231.  
  232. {==============}
  233. { Serial Event }
  234. {==============}
  235. (*
  236. Procedure VSerEventProcNew(         Chan        : TSerHandle;
  237.                                     Proc        : TSerEventProc;
  238.                                     EventMask   : WORD;
  239.                                     ProcInfo    : Pointer;
  240.                                 Var ProcHandle  : TSerHandle    ) : TError;
  241.  
  242. Procedure VSerEventProcOff(         ProcHandle  : TSerHandle    );
  243.  
  244. Procedure VSerEventProcOn(          ProcHandle  : TSerHandle    );
  245.  
  246. Procedure VSerEventProcDispose(     ProcHandle  : TSerHandle    );
  247. *)
  248.  
  249.  
  250.  
  251. {====================}
  252. { Serial Channel I/O }
  253. {====================}
  254.  
  255. Procedure VSerWriteCh(              Chan        : TSerHandle;
  256.                                     OutCh       : CHAR          );
  257.  
  258.  
  259. Function  VSerWriteChEx(            Chan        : TSerHandle;
  260.                                     OutCh       : CHAR          ) : TError;
  261.  
  262. Function  VSerWriteBlock(           Chan        : TSerHandle;
  263.                                     BuffSize    : LONGINT;
  264.                                     BuffPtr     : Pointer;
  265.                                 Var XFerCount   : LONGINT       ) : TError;
  266.  
  267. Function  VSerWriteSt(              Chan        : TSerHandle;
  268.                                     S           : STRING        ) : TError;
  269.  
  270. Function  VSerReadCh(               Chan        : TSerHandle    ) : CHAR;
  271.  
  272. Function  VSerReadChEx(             Chan        : TSerHandle;
  273.                                 Var Ch          : CHAR          ) : TError;
  274.  
  275. Function  VSerReadBlock(            Chan        : TSerHandle;
  276.                                     BuffSize    : LONGINT;
  277.                                     BuffPtr     : Pointer;
  278.                                 Var XFerCount   : LONGINT       ) : TError;
  279.  
  280. {────────────────────────────────────────────────────────────────────────────}
  281. {────────────────────────────────────────────────────────────────────────────}
  282.  
  283.  
  284. ──────────────────────────────────────────────────────────────────────────────
  285.  
  286.  
  287. [FUNCTION]
  288.  
  289. Procedure VSerGetCaps(              Caps        : PSerCaps    );
  290.  
  291. [PARAMETERS]
  292.  
  293. Caps        Pointer to ?
  294.  
  295. [RETURNS]
  296.  
  297. (None)
  298.  
  299. [DESCRIPTION]
  300.  
  301. [SEE-ALSO]
  302.  
  303. [EXAMPLE]
  304.  
  305.  
  306. ──────────────────────────────────────────────────────────────────────────────
  307.  
  308.  
  309. [FUNCTION]
  310.  
  311. Function  VSerChanNew(              Flags       : WORD;
  312.                                 Var ChanHandle  : TSerHandle    ) : TError;
  313.  
  314. [PARAMETERS]
  315.  
  316. Flags       ?
  317. ChanHandle  ?
  318.  
  319. [RETURNS]
  320.  
  321. [DESCRIPTION]
  322.  
  323. [SEE-ALSO]
  324.  
  325. [EXAMPLE]
  326.  
  327.  
  328. ──────────────────────────────────────────────────────────────────────────────
  329.  
  330.  
  331. [FUNCTION]
  332.  
  333. Procedure VSerChanDispose(          ChanHandle  : TSerHandle    ) ;
  334.  
  335. [PARAMETERS]
  336.  
  337. ChanHandle  ?
  338.  
  339. [RETURNS]
  340.  
  341. (None)
  342.  
  343. [DESCRIPTION]
  344.  
  345. [SEE-ALSO]
  346.  
  347. [EXAMPLE]
  348.  
  349.  
  350. ──────────────────────────────────────────────────────────────────────────────
  351.  
  352.  
  353. [FUNCTION]
  354.  
  355. Function  VSerDriverNew(            Chan        : TSerHandle;
  356.                                     Proc        : TSerDriverProc;
  357.                                     DriverInfo  : Pointer         ) : TError;
  358.  
  359. [PARAMETERS]
  360.  
  361. Chan        ?
  362. Proc        Pointer to Serial Device Driver Procedure
  363. DriverInfo  Pointer to Device Driver Information
  364.  
  365. [RETURNS]
  366.  
  367. [DESCRIPTION]
  368.  
  369. [SEE-ALSO]
  370.  
  371. [EXAMPLE]
  372.  
  373.  
  374. ──────────────────────────────────────────────────────────────────────────────
  375.  
  376.  
  377. [FUNCTION]
  378.  
  379. Procedure VSerDriverDispose(        Handle      : TSerHandle    ) ;
  380.  
  381. [PARAMETERS]
  382.  
  383. Handle      ?
  384.  
  385. [RETURNS]
  386.  
  387. (None)
  388.  
  389. [DESCRIPTION]
  390.  
  391. [SEE-ALSO]
  392.  
  393. [EXAMPLE]
  394.  
  395.  
  396. ──────────────────────────────────────────────────────────────────────────────
  397.  
  398.  
  399. [FUNCTION]
  400.  
  401. Function  VSerActivatePort(         Chan        : TSerHandle;
  402.                                     CommParam   : PCommParam    ) : TError;
  403.  
  404. [PARAMETERS]
  405.  
  406. Chan        ?
  407. CommParam   ?
  408.  
  409. [RETURNS]
  410.  
  411. [DESCRIPTION]
  412.  
  413. [SEE-ALSO]
  414.  
  415. [EXAMPLE]
  416.  
  417.  
  418. ──────────────────────────────────────────────────────────────────────────────
  419.  
  420.  
  421. [FUNCTION]
  422.  
  423. Function  VSerDeActivatePort(       Chan        : TSerHandle;
  424.                                     CommParam   : PCommParam    ) : TError;
  425.  
  426. [PARAMETERS]
  427.  
  428. Chan        ?
  429. CommParam   ?
  430.  
  431. [RETURNS]
  432.  
  433. [DESCRIPTION]
  434.  
  435. [SEE-ALSO]
  436.  
  437. [EXAMPLE]
  438.  
  439.  
  440. ──────────────────────────────────────────────────────────────────────────────
  441.  
  442.  
  443. [FUNCTION]
  444.  
  445. Function  VSerGetCommParam(         Chan        : TSerHandle;
  446.                                     CommParam   : PCommParam    ) : TError;
  447.  
  448. [PARAMETERS]
  449.  
  450. Chan        ?
  451. CommParam   ?
  452.  
  453. [RETURNS]
  454.  
  455. [DESCRIPTION]
  456.  
  457. [SEE-ALSO]
  458.  
  459. [EXAMPLE]
  460.  
  461.  
  462. ──────────────────────────────────────────────────────────────────────────────
  463.  
  464.  
  465. [FUNCTION]
  466.  
  467. Function  VSerSetCommParam(         Chan        : TSerHandle;
  468.                                     CommParam   : PCommParam    ) : TError;
  469.  
  470. [PARAMETERS]
  471.  
  472. Chan        ?
  473. CommParam   ?
  474.  
  475. [RETURNS]
  476.  
  477. [DESCRIPTION]
  478.  
  479. [SEE-ALSO]
  480.  
  481. [EXAMPLE]
  482.  
  483.  
  484. ──────────────────────────────────────────────────────────────────────────────
  485.  
  486.  
  487. [FUNCTION]
  488.  
  489. Function  VSerGetFlowConType(       Chan        : TSerHandle    ) : INTEGER;
  490.  
  491. [PARAMETERS]
  492.  
  493. Chan        ?
  494.  
  495. [RETURNS]
  496.  
  497. [DESCRIPTION]
  498.  
  499. [SEE-ALSO]
  500.  
  501. [EXAMPLE]
  502.  
  503.  
  504. ──────────────────────────────────────────────────────────────────────────────
  505.  
  506.  
  507. [FUNCTION]
  508.  
  509. Function  VSerSetFlowConType(       Chan        : TSerHandle;
  510.                                     FlowConType : INTEGER       ) : TError;
  511.  
  512. [PARAMETERS]
  513.  
  514. Chan        ?
  515. FlowconType ?
  516.  
  517. [RETURNS]
  518.  
  519. [DESCRIPTION]
  520.  
  521. [SEE-ALSO]
  522.  
  523. [EXAMPLE]
  524.  
  525.  
  526. ──────────────────────────────────────────────────────────────────────────────
  527.  
  528.  
  529. [FUNCTION]
  530.  
  531. Function  VSerTurnSendOn(           Chan        : TSerHandle    ) : TError;
  532.  
  533. [PARAMETERS]
  534.  
  535. Chan        ?
  536.  
  537. [RETURNS]
  538.  
  539. [DESCRIPTION]
  540.  
  541. [SEE-ALSO]
  542.  
  543. [EXAMPLE]
  544.  
  545.  
  546. ──────────────────────────────────────────────────────────────────────────────
  547.  
  548.  
  549. [FUNCTION]
  550.  
  551. Function  VSerTurnSendOff(          Chan        : TSerHandle    ) : TError;
  552.  
  553. [PARAMETERS]
  554.  
  555. Chan        ?
  556.  
  557. [RETURNS]
  558.  
  559. [DESCRIPTION]
  560.  
  561. [SEE-ALSO]
  562.  
  563. [EXAMPLE]
  564.  
  565.  
  566. ──────────────────────────────────────────────────────────────────────────────
  567.  
  568.  
  569. [FUNCTION]
  570.  
  571. Function  VserTurnReceiveOn(        Chan        : TSerHandle    ) : TError;
  572.  
  573. [PARAMETERS]
  574.  
  575. Chan        ?
  576.  
  577. [RETURNS]
  578.  
  579. [DESCRIPTION]
  580.  
  581. [SEE-ALSO]
  582.  
  583. [EXAMPLE]
  584.  
  585.  
  586. ──────────────────────────────────────────────────────────────────────────────
  587.  
  588.  
  589. [FUNCTION]
  590.  
  591. Function  VSerTurnReceiveOff(       Chan        : TSerHandle    ) : TError;
  592.  
  593. [PARAMETERS]
  594.  
  595. Chan        ?
  596.  
  597. [RETURNS]
  598.  
  599. [DESCRIPTION]
  600.  
  601. [SEE-ALSO]
  602.  
  603. [EXAMPLE]
  604.  
  605.  
  606. ──────────────────────────────────────────────────────────────────────────────
  607.  
  608.  
  609. [FUNCTION]
  610.  
  611. Function  VSerTurnBreakOn(          Chan        : TSerHandle    ) : TError;
  612.  
  613. [PARAMETERS]
  614.  
  615. Chan        ?
  616.  
  617. [RETURNS]
  618.  
  619. [DESCRIPTION]
  620.  
  621. [SEE-ALSO]
  622.  
  623. [EXAMPLE]
  624.  
  625.  
  626. ──────────────────────────────────────────────────────────────────────────────
  627.  
  628.  
  629. [FUNCTION]
  630.  
  631. Function  VSerTurnBreakOff(         Chan        : TSerHandle    ) : TError;
  632.  
  633. [PARAMETERS]
  634.  
  635. Chan        ?
  636.  
  637. [RETURNS]
  638.  
  639. [DESCRIPTION]
  640.  
  641. [SEE-ALSO]
  642.  
  643. [EXAMPLE]
  644.  
  645.  
  646. ──────────────────────────────────────────────────────────────────────────────
  647.  
  648.  
  649. [FUNCTION]
  650.  
  651. Function  VSerBreak(                Chan        : TSerHandle;
  652.                                     BreakLen    : LONGINT       ) : TError;
  653.  
  654. [PARAMETERS]
  655.  
  656. Chan        ?
  657. BreakLen    ?
  658.  
  659. [RETURNS]
  660.  
  661. [DESCRIPTION]
  662.  
  663. [SEE-ALSO]
  664.  
  665. [EXAMPLE]
  666.  
  667.  
  668. ──────────────────────────────────────────────────────────────────────────────
  669.  
  670.  
  671. [FUNCTION]
  672.  
  673. Function  VSerTurnDTROn(            Chan        : TSerHandle    ) : TError;
  674.  
  675. [PARAMETERS]
  676.  
  677. Chan        ?
  678.  
  679. [RETURNS]
  680.  
  681. [DESCRIPTION]
  682.  
  683. [SEE-ALSO]
  684.  
  685. [EXAMPLE]
  686.  
  687.  
  688. ──────────────────────────────────────────────────────────────────────────────
  689.  
  690.  
  691. [FUNCTION]
  692.  
  693. Function  VSerTurnDTROff(           Chan        : TSerHandle    ) : TError;
  694.  
  695. [PARAMETERS]
  696.  
  697. Chan        ?
  698.  
  699. [RETURNS]
  700.  
  701. [DESCRIPTION]
  702.  
  703. [SEE-ALSO]
  704.  
  705. [EXAMPLE]
  706.  
  707.  
  708. ──────────────────────────────────────────────────────────────────────────────
  709.  
  710.  
  711. [FUNCTION]
  712.  
  713. Function  VSerGetStatus(            Chan        : TSerHandle    ) : LONGINT;
  714.  
  715. [PARAMETERS]
  716.  
  717. Chan        ?
  718.  
  719. [RETURNS]
  720.  
  721. [DESCRIPTION]
  722.  
  723. [SEE-ALSO]
  724.  
  725. [EXAMPLE]
  726.  
  727.  
  728. ──────────────────────────────────────────────────────────────────────────────
  729.  
  730.  
  731. [FUNCTION]
  732.  
  733. Function VSerChanStatus(            Chan        : TSerHandle;
  734.                                     Bit         : BYTE          ) : BOOLEAN;
  735.  
  736. [PARAMETERS]
  737.  
  738. Chan        ?
  739. Bit         ?
  740.  
  741. [RETURNS]
  742.  
  743. Whether the ....
  744.  
  745. [DESCRIPTION]
  746.  
  747. [SEE-ALSO]
  748.  
  749. [EXAMPLE]
  750.  
  751.  
  752. ──────────────────────────────────────────────────────────────────────────────
  753.  
  754.  
  755. [FUNCTION]
  756.  
  757. Function  VSerCarrier(              Chan        : TSerHandle    ) : BOOLEAN;
  758.  
  759. [PARAMETERS]
  760.  
  761. Chan        ?
  762.  
  763. [RETURNS]
  764.  
  765. Whether a Carrier has been Established (TRUE=Carrier Established)
  766.  
  767. [DESCRIPTION]
  768.  
  769. [SEE-ALSO]
  770.  
  771. [EXAMPLE]
  772.  
  773.  
  774. ──────────────────────────────────────────────────────────────────────────────
  775.  
  776.  
  777. [FUNCTION]
  778.  
  779. Function  VSerRing(                 Chan        : TSerHandle    ) : BOOLEAN;
  780.  
  781. [PARAMETERS]
  782.  
  783. Chan        ?
  784.  
  785. [RETURNS]
  786.  
  787. Whether the ? is Ringing (TRUE=Ringing)
  788.  
  789. [DESCRIPTION]
  790.  
  791. [SEE-ALSO]
  792.  
  793. [EXAMPLE]
  794.  
  795.  
  796. ──────────────────────────────────────────────────────────────────────────────
  797.  
  798.  
  799. [FUNCTION]
  800.  
  801. Function  VSerInAvail(              Chan        : TSerHandle    ) : BOOLEAN;
  802.  
  803. [PARAMETERS]
  804.  
  805. Chan        ?
  806.  
  807. [RETURNS]
  808.  
  809. Whether the ? is Available  (TRUE=Available)
  810.  
  811. [DESCRIPTION]
  812.  
  813. [SEE-ALSO]
  814.  
  815. [EXAMPLE]
  816.  
  817.  
  818. ──────────────────────────────────────────────────────────────────────────────
  819.  
  820.  
  821. [FUNCTION]
  822.  
  823. Function  VSerInFull(               Chan        : TSerHandle    ) : BOOLEAN;
  824.  
  825. [PARAMETERS]
  826.  
  827. Chan        ?
  828.  
  829. [RETURNS]
  830.  
  831. Whether the ? is Full (TRUE=Full)
  832.  
  833. [DESCRIPTION]
  834.  
  835. [SEE-ALSO]
  836.  
  837. [EXAMPLE]
  838.  
  839.  
  840. ──────────────────────────────────────────────────────────────────────────────
  841.  
  842.  
  843. [FUNCTION]
  844.  
  845. Function  VSerOutReady(             Chan        : TSerHandle    ) : BOOLEAN;
  846.  
  847. [PARAMETERS]
  848.  
  849. Chan        ?
  850.  
  851. [RETURNS]
  852.  
  853. Whether the ? is Ready  (TRUE=Ready)
  854.  
  855. [DESCRIPTION]
  856.  
  857. [SEE-ALSO]
  858.  
  859. [EXAMPLE]
  860.  
  861.  
  862. ──────────────────────────────────────────────────────────────────────────────
  863.  
  864.  
  865. [FUNCTION]
  866.  
  867. Function  VSerOutEmpty(             Chan        : TSerHandle    ) : BOOLEAN;
  868.  
  869. [PARAMETERS]
  870.  
  871. Chan        ?
  872.  
  873. [RETURNS]
  874.  
  875. Whether the ? is Empty  (TRUE=Empty)
  876.  
  877. [DESCRIPTION]
  878.  
  879. [SEE-ALSO]
  880.  
  881. [EXAMPLE]
  882.  
  883.  
  884. ──────────────────────────────────────────────────────────────────────────────
  885.  
  886.  
  887. [FUNCTION]
  888.  
  889. Function  VSerFlushOutBuff(       Chan        : TSerHandle    ): TError;
  890.  
  891. [PARAMETERS]
  892.  
  893. Chan        ?
  894.  
  895. [RETURNS]
  896.  
  897. [DESCRIPTION]
  898.  
  899. [SEE-ALSO]
  900.  
  901. [EXAMPLE]
  902.  
  903.  
  904. ──────────────────────────────────────────────────────────────────────────────
  905.  
  906.  
  907. [FUNCTION]
  908.  
  909. Function  VSerPurgeOutBuff(       Chan        : TSerHandle    ): TError;
  910.  
  911. [PARAMETERS]
  912.  
  913. Chan        ?
  914.  
  915. [RETURNS]
  916.  
  917. [DESCRIPTION]
  918.  
  919. [SEE-ALSO]
  920.  
  921. [EXAMPLE]
  922.  
  923.  
  924. ──────────────────────────────────────────────────────────────────────────────
  925.  
  926.  
  927. [FUNCTION]
  928.  
  929. Function  VSerPurgeInBuff(        Chan        : TSerHandle    ): TError;
  930.  
  931. [PARAMETERS]
  932.  
  933. Chan        ?
  934.  
  935. [RETURNS]
  936.  
  937. [DESCRIPTION]
  938.  
  939. [SEE-ALSO]
  940.  
  941. [EXAMPLE]
  942.  
  943.  
  944. ──────────────────────────────────────────────────────────────────────────────
  945.  
  946.  
  947. [FUNCTION]
  948.  
  949. Procedure VSerWriteCh(              Chan        : TSerHandle;
  950.                                     OutCh       : CHAR          );
  951.  
  952. [PARAMETERS]
  953.  
  954. Chan        ?
  955. OutCh       Character to Write
  956.  
  957. [RETURNS]
  958.  
  959. (None)
  960.  
  961. [DESCRIPTION]
  962.  
  963. [SEE-ALSO]
  964.  
  965. [EXAMPLE]
  966.  
  967.  
  968. ──────────────────────────────────────────────────────────────────────────────
  969.  
  970.  
  971. [FUNCTION]
  972.  
  973. Function  VSerWriteChEx(          Chan        : TSerHandle;
  974.                                   OutCh       : CHAR          ) : TError;
  975.  
  976. [PARAMETERS]
  977.  
  978. Chan        ?
  979. OutCh       Character to Write
  980.  
  981. [RETURNS]
  982.  
  983. [DESCRIPTION]
  984.  
  985. [SEE-ALSO]
  986.  
  987. [EXAMPLE]
  988.  
  989.  
  990. ──────────────────────────────────────────────────────────────────────────────
  991.  
  992.  
  993. [FUNCTION]
  994.  
  995. Function  VSerWriteBlock(         Chan        : TSerHandle;
  996.                                   BuffSize    : LONGINT;
  997.                                   BuffPtr     : Pointer;
  998.                               Var XFerCount   : LONGINT       ): TError;
  999.  
  1000. [PARAMETERS]
  1001.  
  1002. Chan        ?
  1003. BuffSize    Data Buffer Size
  1004. BuffPtr     Pointer to Data Buffer
  1005. XFerCount   VAR Returned Number of Bytes Written
  1006.  
  1007. [RETURNS]
  1008.  
  1009. Function : ?
  1010. (VAR     : [XFerCount] Number of Bytes Written)
  1011.  
  1012. [DESCRIPTION]
  1013.  
  1014. [SEE-ALSO]
  1015.  
  1016. [EXAMPLE]
  1017.  
  1018.  
  1019. ──────────────────────────────────────────────────────────────────────────────
  1020.  
  1021.  
  1022. [FUNCTION]
  1023.  
  1024. Function  VSerWriteSt(            Chan        : TSerHandle;
  1025.                                   S           : STRING        ): TError;
  1026.  
  1027. [PARAMETERS]
  1028.  
  1029. Chan        ?
  1030. S           String to Write
  1031.  
  1032. [RETURNS]
  1033.  
  1034. [DESCRIPTION]
  1035.  
  1036. [SEE-ALSO]
  1037.  
  1038. [EXAMPLE]
  1039.  
  1040.  
  1041. ──────────────────────────────────────────────────────────────────────────────
  1042.  
  1043.  
  1044. [FUNCTION]
  1045.  
  1046. Function  VSerReadCh(             Chan        : TSerHandle    ): CHAR;
  1047.  
  1048. [PARAMETERS]
  1049.  
  1050. Chan        ?
  1051.  
  1052. [RETURNS]
  1053.  
  1054. Character Read
  1055.  
  1056. [DESCRIPTION]
  1057.  
  1058. [SEE-ALSO]
  1059.  
  1060. [EXAMPLE]
  1061.  
  1062.  
  1063. ──────────────────────────────────────────────────────────────────────────────
  1064.  
  1065.  
  1066. [FUNCTION]
  1067.  
  1068. Function  VSerReadChEx(           Chan        : TSerHandle;
  1069.                               Var Ch          : CHAR          ): TError;
  1070.  
  1071. [PARAMETERS]
  1072.  
  1073. Chan        ?
  1074. Ch          VAR Returned Character Read
  1075.  
  1076. [RETURNS]
  1077.  
  1078. Function : ?
  1079. (VAR     : [Ch] Character Read)
  1080.  
  1081. [DESCRIPTION]
  1082.  
  1083. [SEE-ALSO]
  1084.  
  1085. [EXAMPLE]
  1086.  
  1087.  
  1088. ──────────────────────────────────────────────────────────────────────────────
  1089.  
  1090.  
  1091. [FUNCTION]
  1092.  
  1093. Function  VSerReadBlock(          Chan        : TSerHandle;
  1094.                                   BuffSize    : LONGINT;
  1095.                                   BuffPtr     : Pointer;
  1096.                               Var XFerCount   : LONGINT       ): TError;
  1097.  
  1098. [PARAMETERS]
  1099.  
  1100. Chan        ?
  1101. BuffSize    Data Buffer Size
  1102. BuffPtr     Pointer to Data Buffer
  1103. XFerCount   VAR Returned Number of Bytes Transfered
  1104.  
  1105. [RETURNS]
  1106.  
  1107. Function : ?
  1108. (VAR     : [XFerCount] Number of Bytes Transfered)
  1109.  
  1110. [DESCRIPTION]
  1111.  
  1112. [SEE-ALSO]
  1113.  
  1114. [EXAMPLE]
  1115.  
  1116.